home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Communications / PPPMonitor1.16 / Source / ExecScrollText.h < prev    next >
Text File  |  1996-01-29  |  5KB  |  104 lines

  1. // -------------------------------------------------------------------------------------
  2. // ExecScrollText.h
  3. // (Indent:4, Tabs:4)
  4. // -------------------------------------------------------------------------------------
  5. // Copyright 1996 Persistent Technologies, Inc. - all rights reserved
  6. // -------------------------------------------------------------------------------------
  7. // This source code comes with no warranty of any kind, and the user assumes all 
  8. // responsibility for its use.
  9. // -------------------------------------------------------------------------------------
  10. #import <objc/Object.h>
  11. #import "ExecRunCommand.h"
  12.  
  13. // -------------------------------------------------------------------------------------
  14. // formatted text size limit for 'textPrintf'
  15. #define         textStringSIZE          2048    // actual size cannot be known
  16.  
  17. // -------------------------------------------------------------------------------------
  18. // method name synonyms
  19. #define         setAutoLF               setAutoLineFeed
  20.  
  21. // -------------------------------------------------------------------------------------
  22. // structures used internal to ScrollText
  23.  
  24. /* text attributes */
  25. typedef struct textAttr_s {
  26.     id                    fontId;
  27.     int                    colorMode;        // 0=none, 1=gray, 2=color
  28.     NXColor                color;            // contains only gray if mode=1
  29. } textAttr_t;
  30.  
  31. // -------------------------------------------------------------------------------------
  32. // Scroll text output for commands
  33. @interface ExecScrollText : Object
  34. #ifdef RemoteClient_PROTOCOL
  35.     <RemoteClient>
  36. #endif
  37. {
  38.  
  39.     id                    delegate;                    // delegate for ExecServer support
  40.     id                    scrollView;                    // scroll view object
  41.     id                    textView;                    // text view object
  42.     textAttr_t            runAttr;                    // newly added text attributes
  43.     BOOL                wasEditable;                // scrollView was editable
  44.     BOOL                autoLf;                        // auto linefeed mode
  45. }
  46.  
  47. // -------------------------------------------------------------------------------------
  48. + newExecScrollText:anObject;
  49. //  Creates a new ExecScrollText object to handle text scrolling.  anObject must be
  50. //  a ScrollView object which has a Text content view.  This is compatible
  51. //  with the outlet provided by the text scroll view object in Interface Builder.
  52. //
  53. // -------------------------------------------------------------------------------------
  54. - setDelegate:aDelegate;
  55. - (id)delegate;
  56. //  Currently used for ExecServer support.  Returns self.
  57. //
  58. // -------------------------------------------------------------------------------------
  59. - setAutoLineFeed:(BOOL)mode;
  60. //  Sets the autoLineFeed options.  If set to YES, then a newLine will be sent
  61. //  after each string written to the scroll text.  The default is NO. 
  62. //
  63. // -------------------------------------------------------------------------------------
  64. - docView;
  65. //  Returns the ScrollView docView.
  66. //
  67. // -------------------------------------------------------------------------------------
  68. - scrollView;
  69. //  Returns the ScrollView id.
  70. //
  71. // -------------------------------------------------------------------------------------
  72. - setTextAttributeFont:fontId;
  73. - setTextAttributeGray:(float)aGray;
  74. - setTextAttributeColor:(NXColor)aColor;
  75. //  Set RTF font/gray run attributes for newly added text.
  76. //
  77. // -------------------------------------------------------------------------------------
  78. - setTabStops:(float*)tabArray count:(int)c;
  79. - setTab:(float)tabSize count:(int)c;
  80. //  Set default tabs stops.  'setTabStops:count:' set the default tabs to those
  81. //  specified in the array 'tabArray'. 'setTab:count:' sets the default tabs to 
  82. //  multiples of 'tabSize'.  Both return self.
  83. //
  84. // -------------------------------------------------------------------------------------
  85. - clearScrollText;
  86. //  This clears the contents of the Text ScrollView.  Returns self.
  87. //
  88. // -------------------------------------------------------------------------------------
  89. - (int)textPrint:(const char*)buffer;
  90. - (int)textPrintf:(const char*)fmt args:(va_list)args;
  91. - (int)textPrintf:(const char*)fmt, ...;
  92. //  Appends the specified formated string to the contents of the ScrollView.
  93. //
  94. // -------------------------------------------------------------------------------------
  95. - (ExecRunCommand*)runCommand:(const char*)command user:(const char*)user;
  96. - (int)system:(const char*)command user:(const char*)user;
  97. //  Allows running a command shell and using the scrollable text view to place the
  98. //  output.  The delegate is sent the message commandDidComplete:withError: when
  99. //  the command has completed execution.
  100. //
  101. // -------------------------------------------------------------------------------------
  102.  
  103. @end
  104.